<!DOCTYPE html>
<html lang="zh"
>
<head>
    <title>文章 - vn.py</title>
    <!-- Using the latest rendering mode for IE -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <link href="/images/favicon.png" rel="icon">


    <meta name="author" content="用Python的交易员" />
    <meta name="keywords" content="文章" />

    <!-- Open Graph tags -->
        <meta property="og:site_name" content="vn.py" />
        <meta property="og:type" content="website"/>
        <meta property="og:title" content="vn.py"/>
        <meta property="og:url" content=""/>
        <meta property="og:description" content="vn.py"/>


    <!-- Bootstrap -->
        <link rel="stylesheet" href="/theme/css/bootstrap.readable.min.css" type="text/css"/>
    <link href="/theme/css/font-awesome.min.css" rel="stylesheet">

    <link href="/theme/css/pygments/monokai.css" rel="stylesheet">
    <link rel="stylesheet" href="/theme/css/style.css" type="text/css"/>


        <script>
            var _hmt = _hmt || [];
            (function() {
              var hm = document.createElement("script");
              hm.src = "//hm.baidu.com/hm.js?e8c7573f82d43fa50c895a8e28c49ceb";
              var s = document.getElementsByTagName("script")[0]; 
              s.parentNode.insertBefore(hm, s);
            })();
        </script>

</head>
<body>

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
	<div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a href="/" class="navbar-brand">
<img src="/images/favicon.png" width=""/> vn.py            </a>
        </div>
        <div class="collapse navbar-collapse navbar-ex1-collapse">
            <ul class="nav navbar-nav">
                         <li><a href="/pages/quickstart.html">
                             Quick Start
                          </a></li>
                         <li><a href="/pages/tutorial.html">
                             教程
                          </a></li>
                         <li><a href="/pages/blog.html">
                             日志
                          </a></li>
                         <li><a href="/pages/screenshot.html">
                             截图
                          </a></li>
                         <li><a href="/pages/community.html">
                             社区
                          </a></li>
                         <li><a href="/pages/api.html">
                             API接口
                          </a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
              <li><a href="/archives.html"><i class="fa fa-th-list"></i><span class="icon-label">Archives</span></a></li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
</div> <!-- /.navbar -->
<!-- Banner -->
<style>
	#banner{
	    background-image:url("/images/banner.png");
	}
</style>

<div id="banner">
	<div class="container">
		<div class="copy">
			<h1>vn.py</h1>
				<p class="intro">Developed by traders, for traders.</p>
		</div>
	</div>
</div><!-- End Banner -->
<div class="container">
    <div class="row">
        <div class="col-sm-9">

            <article>
                <h2><a href="/project-documentation-plan.html">vn.py文档编写计划</a></h2>
                <div class="summary"><p><strong>鸡年的第一篇文章，给各位读者拜个年，祝大家新的一年身体健康，全家幸福～</strong></p>
<h3>需求</h3>
<p>之前在vn.py项目2017年计划里面提到，如果对vn.py社区用户们的需求情况做个排序，项目文档绝对可以排在第一位。尤其对于新手而言，目前能找到的文档资料比较零碎，只能自己去看源代码，学习曲线比较陡，也让很多人望而却步。</p>
<h3>误区</h3>
<p>之前走入了一个误区，因为自己是作者的关系对整个项目的了解比较全面，所以写文档的时候是从开发者的角度，按照自己一步步开发vn.py项目的顺序在写：CTP接口原理、接口封装、事件引擎、GUI界面、应用模块开发等。直接的后果就是导致用户上来就先接触最难的底层部分，然后才一点点过度到自己实际应用中会用到的上层开发部分，学习效率非常低下。</p>
<h3>用户</h3>
<p>接下来新的文档准备从用户的角度来写：先讲安装配置、基本使用，让用户能先把vn.py跑起来，不用再到处问环境怎么配置；然后介绍如何使用CTA模块来开发交易策略，如何结合风控模块来做事前风险管理；下一步讲解基于事件引擎的扩展模块的开发方式，使得用户能够去实现一些比较复杂的功能应用；最后再介绍接口封装、架构细节等内容，让有兴趣的用户来进一步提高。</p>
<p>不再废话了，直接进入目录。</p>
<h3>目录</h3>
<ol>
<li>
<p>安装配置</p>
<ol>
<li>
<p>Windows(200)</p>
<ol>
<li>Python环境 ...</li></ol></li></ol></li></ol>
                    <a class="btn btn-default btn-xs" href="/project-documentation-plan.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/blog-2017-plan.html">2017年vn.py项目计划</a></h2>
                <div class="summary"><p>去年初写2016年项目计划的情景还历历在目，眨眼就一年过去了，vn.py项目在2016年的成长速度远远超出了我的预期。截止写这篇文章的2017年1月7日，vn.py项目在Github上收获了2244个Star以及1276个Fork，比起2016年初几乎翻了四倍，代码贡献者的数量超过了20人（其中17人是在Github上直接提交了代码），机构用户的数量也已经超过了50家。</p>
<h3>首先回顾2016年项目计划的完成情况</h3>
<p>整体上去年计划的完成情况还不错，只有一个期权的CTA策略因为标的波动太小没有去做。</p>
<p><strong>代码方面：</strong></p>
<ol>
<li>
<p>完善飞创、易盛等相对小众接口的添加，这块将由社区驱动，作者主要负责代码检查和管理（增加了vn.xspeed、vn.sgit、vn.okcoin、vn.shzd等接口，易盛暂时还未有计划）</p>
</li>
<li>
<p>整理vn.py项目中API的具体版本号，保证封装接口的对应，这点已经有多位用户提起过，项目初期没有做详细记录所以很多API的版本号一时都较难对上（已完成）</p>
</li>
<li>
<p>Linux上API的编译以及vn.trader支持（已完成）</p>
</li>
<li>
<p>基于VirtualBox的vn.py开发环境镜像，解决部分用户反映项目初期不知该如何搭建开发环境的问题，这个镜像会由官方长期维护下去（已完成）</p>
</li>
</ol>
<p><strong>文章方面：</strong></p>
<ol>
<li>
<p>作者自己作为交易员的成长经历（通过知乎LIVE完成）</p>
</li>
<li>
<p>vn.trader的使用教程（已完成）</p>
</li>
<li>
<p>将ta-lib（技术分析 ...</p></li></ol>
                    <a class="btn btn-default btn-xs" href="/blog-2017-plan.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/blog-1.2-release.html">vn.py框架v1.2发布</a></h2>
                <div class="summary"><p>距离上一个版本v1.1的发布过去4个月后终于完成了v1.2，主要增加的功能：</p>
<h2>vn.rpc模块</h2>
<p>实现客户端到服务端的跨进程函数调用，同时支持服务端向客户端推送数据。有了这个模块后，可以大幅简化很多用户想要的GUI和引擎分离、网页端界面监控、大运算量策略独立运行、分布式架构等等功能的实现。</p>
<h2>vn.shzd和vn.ib接口</h2>
<p>直达期货的接口封装vn.shzd已经介入vn.trader，直达属于一家专业度较高的外盘期货经纪商，在速度和技术服务方面有一定的优势，国内很多大型机构偏好使用他们的通道。</p>
<p>初步完成了Interactive Brokers API的封装接口vn.ib，和IbPy相比的一些不同点：</p>
<ol>
<li>
<p>vn.ib基于Boost.Python封装了原生Posix C++接口，比起IbPy能提供更好的性能</p>
</li>
<li>
<p>vn.ib底层代码中添加了异常捕捉功能，避免IbPy的函数触发异常后没有报错直接断开连接，导致无法调试的问题</p>
</li>
<li>
<p>vn.ib安装时可能需要编译（默认的pyd在Windows7 Python 2.7 32位下编译），IbPy是纯Python的可以直接使用</p>
</li>
<li>
<p>vn.ib基于较新的IB官方API（9.72 beta ...</p></li></ol>
                    <a class="btn btn-default btn-xs" href="/blog-1.2-release.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/blog-1.0-release.html">vn.py框架v1.0发布</a></h2>
                <div class="summary"><p>vn.py框架终于迎来了v1.0的正式发布，离2月份宣布2016年的项目计划已经过去了三个月的时间，比起当时也取得了不少的进展。</p>
<p>代码方面：</p>
<ol>
<li>
<p>增加了vn.xspeed（飞创）、vn.sgit（飞鼠）和vn.oanda（OANDA）接口</p>
</li>
<li>
<p>整理了vn.py项目中包括的所有API的具体信息（版本号、获得渠道、特性等）</p>
</li>
<li>
<p>在Linux上成功编译了vn.ctp和vn.lts接口，并加入了vn.trader中</p>
</li>
<li>
<p>vn.trader中增加了风控模块和行情数据记录模块，以及一系列的bug修复和特性更新</p>
</li>
<li>
<p>使用Ubuntu 16.04 LTS以及一系列最新的软件包建立了开箱即用的VirtualBox镜像</p>
</li>
</ol>
<p>文章方面：</p>
<ol>
<li>
<p>关于在vn.trader中使用ta-lib和quantlib的教程</p>
</li>
<li>
<p>vn.trader的使用教程系列</p>
</li>
<li>
<p>国内常见交易接口的介绍</p>
</li>
</ol>
<p>社区方面：</p>
<ol>
<li>
<p>使用pelican重新建设的官方网站，比起原来Hexo开发的更加简洁美观</p>
</li>
<li>
<p>上海地区的两次线下活动，主要介绍了vn.trader的相关使用和开发</p>
</li>
<li>
<p>官方交流群的成员活跃度和讨论专业程度不断上升</p>
</li>
</ol>
<p>计划中剩下的一些工作也会在今年内逐步完成。</p>
<p>尽管2016年到目前的市场形势都不是太好，但是只有在行业低谷期做好准备的人才能抓住未来的行情，所以现在未尝不是一个好好修炼内功的机会 ...</p>
                    <a class="btn btn-default btn-xs" href="/blog-1.0-release.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/ubuntu-tutorial.html">vn.trader的Ubuntu运行环境搭建教程</a></h2>
                <div class="summary"><h1>vn.trader的Ubuntu运行环境搭建教程</h1>
<p>作者：量衍投资</p>
<p>转载请注明来源：维恩的派（www.vnpie.com）</p>
<h2>准备Ubuntu</h2>
<p>建议使用一个新安装干净的Ubuntu环境（如果你一定要使用老环境也行，万一不幸掉坑后再回到这步就好），我这里使用的环境如下：</p>
<ul>
<li>版本：Ubuntu 16.04 LTS</li>
<li>语言：简体中文</li>
<li>时区：Shanghai</li>
<li>硬件：VirtualBox虚拟机（64位，分配4G内存）</li>
</ul>
<h2>安装Anaconda</h2>
<p>在<a href="https://www.continuum.io/downloads">Continuum官网</a>下载Python 2.7版本Linux 64-Bit的Anaconda，我这里下载完成后的文件名为Anaconda2-4.0.0-Linux-x86_64.sh。</p>
<p>打开Terminal（终端），进入文件所在的目录，输入如下命令：</p>
<div class="highlight"><pre><span></span>bash Anaconda2-4.0.0-Linux-x86_64.sh
</pre></div>


<p>设置方面除了最后一个选择可以一路回车，到最后一项设置是否要将Anaconda添加到bash的PATH中时，注意选yes ...</p>
                    <a class="btn btn-default btn-xs" href="/ubuntu-tutorial.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/trader-tutorial-3.html">vn.trader使用教程系列3-策略算法</a></h2>
                <div class="summary"><p>原创文章，转载请注明出处：用Python的交易员</p>
<h2>风控模块</h2>
<p><img alt="enter image description here" src="http://7x2w1m.com1.z0.glb.clouddn.com/%E9%A3%8E%E9%99%A9%E7%AE%A1%E7%90%86.JPG" /></p>
<p>点击菜单栏的功能-&gt;风险管理后，可以打开如上图所示的界面。风控模块主要提供的是针对高频策略和短周期CTA策略的事前风控功能，防止由于错误的算法逻辑导致类似光大乌龙指的事件（就算亏不了几十亿，一下子把账户亏掉一半也是很痛苦的...）。</p>
<p><strong>开关</strong></p>
<p>工作状态按钮用于控制风控模块的运行状态。处于“运行中”状态时，每笔委托在发出前会执行模块中定义好的多个风控条件检查，全部符合条件（参考下文的详细介绍）才能正常通过，只要有一条不符合该委托都会被拒绝，并且会在日志中输出具体的风控信息。处于“未启动”状态时，则会忽略所有的风控检查，允许委托直接发出。</p>
<p><strong>流控</strong></p>
<p>流控主要控制的是单位时间内允许发出的最大的委托笔数，图中所示的限制是每1秒允许最多发出4笔委托，如果发送第5笔就会被拒绝，从而防止某些成交触发的交易信号由于逻辑错误被重复触发，在1秒内发出几十笔的情况。</p>
<p>清空流控计数按钮可以把当前的流控计数清0。</p>
<p><strong>单笔委托</strong></p>
<p>单笔委托上限比较容易理解，控制的是每一笔委托允许的最大合约手数，防止由于逻辑或者参数设置错误导致开仓太多合约的风险。</p>
<p><strong>总成交</strong></p>
<p>总成交上限控制的是每日允许的总成交的合约数量（不是成交笔数），针对的是无人值守的情况下，策略算法出现逻辑错误开始频繁的买卖（比如每秒开多1手，再平多1手，不断重复），导致在手续费和买卖价差上快速亏损的情况。</p>
<p>清空总成交技术按钮可以把当前的总成交技术清0。</p>
<p><strong>活动订单</strong></p>
<p>活动订单上限限制的是当前系统内所有的未成交和部分成交的委托数量 ...</p>
                    <a class="btn btn-default btn-xs" href="/trader-tutorial-3.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/trader-tutorial-2.html">vn.trader使用教程系列2-基础交易</a></h2>
                <div class="summary"><p>原创文章，转载请注明出处：用Python的交易员</p>
<h2>窗口组件</h2>
<p><img alt="主窗口" src="http://7x2w1m.com1.z0.glb.clouddn.com/%E4%B8%BB%E7%AA%97%E5%8F%A3.JPG" /></p>
<p>双击vn.trader文件夹下的vtMain.py后，会看到以上的程序主窗口，无法双击的用户一般是Anaconda安装时的.py文件打开方式问题，右键vtMain.py后-&gt;打开方式-&gt;选择Anaconda文件夹下的python.exe后就可以打开。</p>
<p>在上一篇教程中设置好CTP接口的帐号密码等信息后，点击菜单上的系统-&gt;连接CTP即可连接到CTP柜台。算法交易等相关的功能会涉及数据库相关的操作，点击系统-&gt;连接数据库后vn.trader会自动连接上MongoDB数据库（需要将MongoDB注册为系统服务）。</p>
<p>窗口中间部分的组件均可以随意改变位置，也可以拖动变为顶层悬浮窗口，正常退出（点击右上方的X按钮）后会自动保存当前的窗口设置。最下方的状态栏显示了当前的CPU和内存使用率，便于监控当前的系统资源占用情况。</p>
<p>各组件的功能如下：</p>
<ul>
<li>
<p>交易：发送和撤销交易委托、订阅行情等（参考下一章节）</p>
</li>
<li>
<p>行情：显示行情Tick数据推送</p>
</li>
<li>
<p>委托：显示委托回报相关的数据推送（注意视乎接口不同，大部分失败的委托并不会显示）</p>
</li>
<li>
<p>成交：显示成交相关的数据推送</p>
</li>
<li>
<p>持仓：显示持仓查询的数据结果（采用轮询查询的方式，非实时）</p>
</li>
<li>
<p>资金：显示账户资金查询的数据结果（采用轮询查询的方式 ...</p></li></ul>
                    <a class="btn btn-default btn-xs" href="/trader-tutorial-2.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/trader-tutorial-1.html">vn.trader使用教程系列1-安装和配置</a></h2>
                <div class="summary"><p>原创文章，转载请注明出处：用Python的交易员</p>
<p>2016年已经快要过去一半，目前vn.py项目的交易平台vn.trader已经基本定型，在发布v1.0以前不再会有新的功能模块添加，接下来的时间将会主要集中精力在修复一些小bug方面，同时针对新用户推出这个《vn.trader使用教程系列》，帮助大家更快上手使用。</p>
<h2>安装运行环境</h2>
<p>和大多数商业软件的傻瓜式一路“下一步”的安装方法不同，vn.trader运行环境的安装需要用户自行操作的地方较多：Python运行时环境、各项插件、数据库等等。</p>
<p>这里介绍的是较为简洁方便、适合新手的Windows通用安装流程，精力旺盛的资深用户可以自行选择其他的安装方式，但是如果你最后失败了，回到这个流程一步步做下去保证可以运行起来：</p>
<ol>
<li>
<p>准备一台Windows 7 64位系统的电脑</p>
</li>
<li>
<p>安装<a href="http://www.continuum.io/downloads">Anaconda</a>：下载Python 2.7 32位版本，注意必须是32位</p>
</li>
<li>
<p>安装<a href="http://www.mongodb.org/downloads#production">MongoDB</a>：下载Windows 64-bit 2008 R2+版本</p>
</li>
<li>
<p>安装pymongo：在cmd中运行pip install pymongo</p>
</li>
<li>
<p>参考 ...</p></li></ol>
                    <a class="btn btn-default btn-xs" href="/trader-tutorial-1.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/faq.html">常见问题</a></h2>
                <div class="summary"><h3>vn.py是否提供历史数据？</h3>
<p>答：作为开源项目，vn.py本身不提供历史数据服务器，但是提供了几个历史数据的解决方案：</p>
<ol>
<li>
<p>vn.trader下的IF0000_1min.csv包含了三年多的股指期货连续合约的一分钟数据，用户可以使用ctaHistoryData.py中的脚本函数将该数据导入MongoDB后用于回测；</p>
</li>
<li>
<p>ctaHistoryData.py中同时提供了从通联数据的API接口一键下载建立本地数据库的函数，用户使用前需要购买相应的数据授权；</p>
</li>
<li>
<p>vn.trader中的dataRecorder模块可以用于将每日的Tick行情数据收集后汇总成1分钟K线并插入MongoDB数据库，数据格式和ctaAlgo模块中使用的通用，该模块默认关闭，可以通过文件夹下的DR_setting.json来进行配置。</p>
</li>
</ol>
<h3>是否能在Mac下使用？</h3>
<p>答：不能，目前国内的柜台API接口只提供Windows和Linux下的接口，封装后的vn.py接口也只能在对应的操作系统使用。</p>
<h3>是否提供Windows下的64位Python的封装？</h3>
<p>答：无，一方面国内部分柜台接口只有Windows下的32位版本，另一方面部分常用的Python库不提供64位的版本，因此出于兼容性的考虑，官方的vn.py只支持Windows下32位的Python（Linux下是64位），但目前有社区的用户自行封装编译了64位的API。</p>
<h3>Python 3版本？</h3>
<p>答：目前Python 3的全局锁GIL性能远逊于Python 2，导致运行速度整体低20-40%不等，同时过去半年有一些社区反馈信息表示Python 3的坑太多，因此官方暂无支持计划。</p>
<h3>Linux版本？</h3>
<p>答 ...</p>
                    <a class="btn btn-default btn-xs" href="/faq.html">more ...</a>
                </div>
            </article>
            <hr/>
            <article>
                <h2><a href="/quantlib-tutorial.html">在Python中使用QuantLib</a></h2>
                <div class="summary"><h2>Quantlib简介</h2>
<p>相比TA-Lib在技术分析领域的地位，QuantLib在金融工程领域的地位可以说有过之而无不及。</p>
<p>参考其<a href="http://quantlib.org/reference/modules.html">官方网站</a>，QuantLib中包含的的模块如下（其中个人感觉国内比较有用的添加了中文注释）：</p>
<blockquote>
<ul>
<li>
<p>Currencies and FX rates（货币相关）</p>
</li>
<li>
<p>Date and time calculations（日期和时间计算）</p>
</li>
<li>
<p>Calendars  </p>
</li>
<li>
<p>Day counters   </p>
</li>
<li>
<p>Design patterns  </p>
</li>
<li>
<p>Financial instruments</p>
</li>
<li>
<p>Finite-differences framework</p>
</li>
<li>
<p>Lattice methods  </p>
</li>
<li>
<p>Math tools</p>
</li>
<li>
<p>1-D Interpolations and corresponding traits    </p>
</li>
<li>
<p>One-dimensional solvers    </p>
</li>
<li>
<p>Optimizers（优化器）</p>
</li>
<li>
<p>Monte Carlo framework    （蒙特卡洛模拟框架）</p>
</li>
<li>
<p>Numeric types    </p>
</li>
<li>
<p>Output manipulators  </p>
</li>
<li>
<p>Pricing engines（定价引擎 ...</p></li></ul></blockquote>
                    <a class="btn btn-default btn-xs" href="/quantlib-tutorial.html">more ...</a>
                </div>
            </article>
            <hr/>

        <ul class="pagination">
                <li class="prev disabled"><a href="#">&laquo;</a></li>
                    <li class="active"><a
                            href="/category/wen-zhang.html">1</a></li>
                    <li class=""><a
                            href="/category/wen-zhang2.html">2</a></li>
                    <li class=""><a
                            href="/category/wen-zhang3.html">3</a></li>
                <li class="next"><a
                        href="/category/wen-zhang2.html">&raquo;</a></li>
        </ul>
        </div>
        <div class="col-sm-3" id="sidebar">
            <aside>

<section class="well well-sm">
    <ul class="list-group list-group-flush">
            <li class="list-group-item"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Social</span></h4>
              <ul class="list-group" id="social">
                <li class="list-group-item"><a href="http://github.com/vnpy/vnpy"><i class="fa fa-github-square fa-lg"></i> Github</a></li>
              </ul>
            </li>



    <li class="list-group-item"><h4><i class="fa fa-external-link-square fa-lg"></i><span class="icon-label">Links</span></h4>
      <ul class="list-group" id="links">
        <li class="list-group-item">
            <a href="http://www.vnpie.com" target="_blank">
                官方论坛 - 维恩的派
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.trader" target="_blank">
                交易平台
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.event" target="_blank">
                事件引擎
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ctp" target="_blank">
                CTP接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.xspeed" target="_blank">
                飞创接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.femas" target="_blank">
                飞马接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="https://github.com/vnpy/vnpy/tree/master/vn.lts" target="_blank">
                LTS接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ksotp" target="_blank">
                金仕达期权接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ksgold" target="_blank">
                金仕达黄金接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.sgit" target="_blank">
                飞鼠接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/dev/vn.qdp" target="_blank">
                QDP接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.oanda" target="_blank">
                OANDA接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ib" target="_blank">
                IB接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.shzd" target="_blank">
                直达期货接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.okcoin" target="_blank">
                OKCoin接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.datayes" target="_blank">
                通联数据接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.demo" target="_blank">
                开发DEMO
            </a>
        </li>
      </ul>
    </li>
    </ul>
</section>
            </aside>
        </div>
    </div>
</div>
<footer>
   <div class="container">
      <hr>
      <div class="row">
         <div class="col-xs-10">&copy; 2017 用Python的交易员
            &middot; Powered by <a href="https://github.com/DandyDev/pelican-bootstrap3" target="_blank">pelican-bootstrap3</a>,
            <a href="http://docs.getpelican.com/" target="_blank">Pelican</a>,
            <a href="http://getbootstrap.com" target="_blank">Bootstrap</a>         </div>
         <div class="col-xs-2"><p class="pull-right"><i class="fa fa-arrow-up"></i> <a href="#">Back to top</a></p></div>
      </div>
   </div>
</footer>
<script src="/theme/js/jquery.min.js"></script>

<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/theme/js/bootstrap.min.js"></script>

<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="/theme/js/respond.min.js"></script>

    <script src="/theme/js/bodypadding.js"></script>

</body>
</html>